package aplicacion.modelo;

/**
 *
 * @author Ileana Natalia Díaz Palacios
 * Programación III
 * Universidad Nacional
 * 
 */

import java.util.*;
import aplicacion.modelo.gestores.*;

public class Modelo extends Observable {

    private Modelo() {
        poligonos = new ManejadorPoligonos();
        cargarArchivo();
    }

    public static Modelo obtenerInstancia() {
        if (instancia == null) {
            instancia = new Modelo();
        }
        return instancia;
    }

    @Override
    public void addObserver(Observer obs) {
        super.addObserver(obs);
        setChanged();
        notifyObservers();
    }

    private  void cargarArchivo() {
        poligonos.cargar();
        setChanged();
        notifyObservers();
    }

    public void guardarArchivo(String path) {
        poligonos.guardar(path);
    }
    
    public ArrayList<Poligono> getPoligonos()
    {
        return poligonos.getPoligonos();
    }
    private static Modelo instancia = null;
    private ManejadorPoligonos poligonos = null;
}
